查看原文
其他

7个进行容器管理的Docker命令

学研妹 Java学研大本营 2024-01-02

介绍7个重要且实用的Docker命令。

长按关注《Java学研大本营》

Docker简介

Docker是个开源平台,用于构建、部署和运行容器中的应用程序,使开发人员能够创建独立、轻量级的容器,包含应用程序所需的所有内容。通过使用Docker,开发人员可以在不同环境中以一致的方式运行应用程序,提高开发和部署的效率和可靠性。

1 docker run命令

docker run命令是Docker中用于启动一个新的容器的命令,是使用Docker镜像创建和运行容器的主要方式。

以下是使用docker run命令启动新容器并通过命令行与其进行交互的示例:

1) 首先,打开终端并输入以下命令以启动新容器:

docker run -it --name mycontainer ubuntu

这个命令会基于ubuntu镜像启动一个新容器,并给它一个名称(mycontainer)。-it选项将终端连接到容器的标准输入和输出,以便您可以通过命令行与其进行交互。

2) 容器运行后,进入容器内部的shell提示符。可以像在常规终端中一样键入命令,例如,可以输入ls命令来列出当前目录的内容:

ls

3) 还可以在容器内安装新软件或运行其他命令。例如,可以更新软件包索引并安装curl软件包:

apt-get update
apt-get install curl

4) 在容器中完成工作后,可以通过输入exit或按下CTRL-D来退出容器。这将使终端与容器分离,并停止其运行。可以随时通过键入docker start mycontainer来重新启动容器,并使用docker attach mycontainer附加到它。

2 docker inspect命令

docker inspect命令用于获取有关容器、镜像、网络、卷等详细信息;它返回JSON格式的结果,包含有关指定对象的各种属性和配置信息,可以使用工具(如jq)或编程语言(如Python)来解析和处理这些信息。

以下是使用docker inspect命令查看容器或镜像详细信息的示例:

1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:

docker ps

这将显示您系统上所有正在运行的容器的列表,以及它们的ID。

2) 选择要检查的容器或镜像的ID,并运行以下命令:

docker inspect <container_or_image_id>

3) 将<container_or_image_id>替换为要检查的容器或镜像的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:

docker inspect abcd1234

4) docker inspect命令将输出一个包含有关容器或镜像详细信息的JSON文档。这些信息包括容器的配置、网络设置和资源使用情况,以及镜像的元数据和历史记录。

5) 可以使用docker inspect的输出来排除故障、了解容器或镜像的配置,甚至根据容器或镜像的元数据自动执行任务。

3 docker port命令

docker port命令是用于查看容器端口映射情况的命令,允许查看容器内部端口与宿主机上映射的端口之间的对应关系。

以下是使用docker port命令列出容器端口映射的示例:

1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:

docker ps

这将显示您系统上所有正在运行的容器的列表,以及它们的ID。

2) 选择要列出端口映射的容器的ID,并运行以下命令:

docker port <container_id>

3) 将<container_id>替换为要列出端口映射的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:

docker port abcd1234

4) docker port命令将输出容器的端口映射列表。每个映射包括容器的内部端口号和主机系统上相应的端口号。

5) 可以使用此信息从容器外部访问运行在容器内部的服务。例如,如果容器在端口80上运行Web服务器,并且docker port命令显示端口80映射到主机系统上的端口8080,可以通过在Web浏览器中导航至http://localhost:8080来访问Web服务器。

4 docker stats命令

docker stats命令是用于实时监视运行中容器资源使用情况的。它提供了一个类似于系统监视器的界面,显示了各个容器的CPU使用率、内存占用、网络流量等信息。

以下是使用docker stats命令查看一个或多个容器的资源使用统计信息的示例:

1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:

docker ps

这将显示您系统上所有正在运行的容器的列表,以及它们的ID。

2) 选择要查看资源使用统计信息的容器或容器的ID,并运行以下命令:

docker stats <container_id>

3) 将<container_id>替换为要查看资源使用统计信息的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:

docker stats abcd1234

4) 还可以指定多个容器ID,以一次查看所有容器的资源使用统计信息。例如:

docker stats abcd1234 efgh5678

5) docker stats命令将持续输出指定容器或容器的资源使用统计信息。统计信息包括CPU使用率、内存使用率、网络I/O和块I/O等内容。

6) 可以使用此信息来监视容器的性能和资源使用情况,并排除与资源利用相关的问题。

5 docker top命令

docker top命令用于查看容器内部运行的进程列表。它类似于Unix中的top命令,可以显示容器中正在运行的进程以及与之相关的详细信息。

以下是使用docker top命令查看容器内部运行的进程的示例:

1)首先,打开终端并运行以下命令以列出所有正在运行的容器:

docker ps

这将显示您系统上所有正在运行的容器的列表,以及它们的ID。

2) 选择要查看其进程的容器的ID,并运行以下命令:

docker top <container_id>

3) 将<container_id>替换为要查看其进程的容器的实际ID。例如,如果容器的ID是abcd1234,将运行以下命令:

docker top abcd1234

4) docker top命令将输出一个包含容器内部运行的进程列表的结果,同时提供有关它们资源利用情况的信息,如CPU和内存使用情况。

5) 可以使用此信息来排除与容器内部进程相关的问题,或了解容器的运行情况以及哪些进程使用了最多的资源。

6 docker save命令

docker save命令是Docker中用于将镜像保存为压缩的存档文件的命令,允许将一个或多个Docker镜像打包成一个可导入到其他Docker环境中的单个文件。

以下是使用docker save命令将镜像保存为tar存档的示例:

1)首先,打开终端并运行以下命令以列出系统上所有可用的镜像:

docker images

这将显示系统上所有可用的镜像列表,包括它们的仓库、标签和大小。

2) 选择要保存为tar存档的镜像,并运行以下命令:

docker save -o <output_file_name>.tar <image_name>

3) 将<output_file_name>替换为要为tar存档文件指定的名称,将<image_name>替换为要保存的镜像的名称。例如,如果要将名为myimage:latest的镜像保存为名为myimage_latest.tar的tar存档,将运行以下命令:

docker save -o myimage_latest.tar myimage:latest

4)docker save命令将在当前目录中创建指定镜像的tar存档。

5) 随后可以使用此tar存档将镜像移动到其他系统,或者为了备份目的而存储。

7 docker load命令

docker load命令用于加载从docker save命令导出的镜像存档文件的命令,允许将以先前导出的格式保存的镜像存档文件导入到本地的Docker环境中。

以下是使用docker load命令从tar存档中加载镜像的示例:

1)首先,打开终端并导航到包含镜像的tar存档的目录。

2)运行以下命令从tar存档中加载镜像:

docker load -i <archive_file_name>.tar

3) 将<archive_file_name>替换为包含镜像的tar存档文件的名称。

4) 例如,如果tar存档文件名为myimage_latest.tar,将运行以下命令:

docker load -i myimage_latest.tar

5) docker load命令将从tar存档中导入镜像,并在您的系统上创建一个新的镜像。

6) 可以通过运行以下命令验证已导入镜像:

docker images

这将显示系统上所有可用的镜像列表,包括新导入的镜像。

推荐书单

《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》

Java微服务架构是当下流行的软件架构设计方案,可以快速地进行代码编写与开发,维护起来也非常方便。利用微架构技术,可以轻松地实现高可用、分布式、高性能的项目结构开发,同时也更加安全。  《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot 是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,该书还重点分析了OAuth统一认证服务的应用。  《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》适用于从事Java开发且有架构与项目重构需求的读者,也适用于相关技术爱好者,同时也可作为应用型高等院校及培训机构的学习教材。

【半价促销中】:https://item.jd.com/12793864.html


精彩回顾

使用Docker将Spring Boot应用容器化

使用Spring Boot和Rust生成二维码的性能比较(附代码)

一次搞清Spring 、Spring Boot、Spring Web MVC、Spring WebFlux

7个杀手级IntelliJ IDEA插件

用好这10个Spring Cloud功能,使用Java轻松开发微服务

长按关注《Java学研大本营》
长按访问【IT今日热榜】,发现每日技术热点
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存